
/*
     Initialize and render the MenuBar when the page's DOM is ready
     to be scripted.
*/

var topmenu = (function () {

    /*
         Instantiate a MenuBar:  The first argument passed to the
         constructor is the id of the element to be created; the
         second is an object literal of configuration properties.
    */

    var oMenuBar = new YAHOO.widget.MenuBar("mymenubar", {
                                                lazyload: false,
                                                autosubmenudisplay: false,
                                                itemdata: aItemData
                                                });


    /*
         Since this MenuBar instance is built completely from
         script, call the "render" method passing in a node
         reference for the DOM element that its should be
         appended to.
    */

    oMenuBar.render(document.body);


	// Add a "show" event listener for each submenu.

	function onSubmenuShow() {

		var oIFrame,
			oElement,
			nOffsetWidth;


		// Keep the left-most submenu against the left edge of the browser viewport

		if (this.id == "yahoo") {

			YAHOO.util.Dom.setX(this.element, 0);

			oIFrame = this.iframe;


			if (oIFrame) {

				YAHOO.util.Dom.setX(oIFrame, 0);

			}

			this.cfg.setProperty("x", 0, true);

		}


		/*
			Need to set the width for submenus of submenus in IE to prevent the mouseout
			event from firing prematurely when the user mouses off of a MenuItem's
			text node.
		*/

		if ((this.id == "filemenu" || this.id == "editmenu") && YAHOO.env.ua.ie) {

			oElement = this.element;
			nOffsetWidth = oElement.offsetWidth;

			/*
				Measuring the difference of the offsetWidth before and after
				setting the "width" style attribute allows us to compute the
				about of padding and borders applied to the element, which in
				turn allows us to set the "width" property correctly.
			*/

			oElement.style.width = nOffsetWidth + "px";
			oElement.style.width = (nOffsetWidth - (oElement.offsetWidth - nOffsetWidth)) + "px";

		}

	}
    // Subscribe to the "show" event for each submenu
    oMenuBar.subscribe("show", onSubmenuShow);


});